Various data caching systems are well known in the art for storing the contents of Internet pages, Web or data pages, in a cache memory for local display by a Web browser. For example, previously when the World Wide Web (WWW) was accessed primarily through a relatively slow dial-up link, a Web browser would often include a list of favorite Web sites. The entire contents of each Web site in the list would be downloaded overnight and continuously updated so that the experience associated with accessing a Web site contained in the list would be improved.
Some browsers include the ability to parse the contents of a Web page so that referenced objects, such as links to other Web pages, can be pre-fetched and stored in cache, thereby facilitating quick access to the linked Web pages.
Currently, there are many cache systems for the Internet. Some cache systems are located at a server, some are located at a client, and still others are distributed throughout the computer networks forming the Internet, such as being distributed between an Internet Service Provider (ISP), a hub and/or a central server location. See, for example, U.S. Pat. No. 5,727,129 to Barrett et al., U.S. Pat. No. 5,761,683 to Logan et al., and WO 99/16201 invented by K. L. El-Rafie. Additionally, companies such as Cidera (SkyPre-fetch), StarBurst, Cisco, and Teleglobe provide distributed caching systems.
More recently, communications between distributed cache engines have been standardized in accordance with ICP (Internet Cache Protocol) RFC 2186. Consequently, in many of the distributed cache systems, a proxy server configuration is utilized in which a user selects a particular cache server a proxy server. Thereafter, all requests from the user are sent to the cache server for processing. Thus, by simply adjusting the default settings on the Web browser, the user is able to redirect all requests to a selected cache server.
Nevertheless, none of the aforementioned caching systems addresses problems that are associated with an asymmetric communication channel, such as a satellite network channel or a cable television channel. For example, a message and its corresponding reply in an asymmetrical channel often experience an excessive delay. In a satellite-based system, the delay is caused by the relatively long distances associated with the communication path. In a cable network or for a remote Internet access site, the delay is often caused by the number of users occupying the system.
To address performance problems in asymmetric systems having excessive delays, systems have been proposed that parse a referencing page at a headend, or a hub, site of the system. The system then immediately downloads related links and/or objects identified by parsing and/or based on the prior user selections to a remote terminal requesting the page referencing the related links and/or objects. The downloading function is automatic for these known systems and typically occurs without receiving additional requests from a requesting terminal. See, for example, U.S. Pat. No. 5,929,850 to Broadwin et al., and WO 99/08429 invented by B. L. Carneal et al. Such automatic downloading caching systems, however, can be problematic in that the downstream bandwidth is not efficiently utilized. Unneeded data is often automatically sent to a remote terminal without being based on a specific request from the remote terminal, and when, in fact, the remote terminal requires no further data. Such automatic downloading systems also often require one or more proxy servers. The use of automatic downloading and proxy servers reduces efficiency and increases latency based on overhead requirements that are associated with each proxy server.
What is needed is a technique for reducing the latency experienced at a remotely located station when requesting web pages and objects from a communications network, such as the Internet.
Moreover, transmission of information by establishing a Transmission Control Protocol/Internet Protocol (TCP/IP) connection over a satellite has emphasized the latency problems associated with the use of such incompatible transmission techniques. To overcome those delays, Gilat has commercially sold devices utilizing embedded TCP acceleration since at least as early as 1994, embedded within the modem. Such page acceleration techniques have concentrated primarily on TCP/IP page acceleration. To date, such systems have been unable to achieve satisfactory delays using a secure protocol layer running above a Transmission Control Protocol/Internet Protocol layer. For example, with regard to transmissions utilizing a Secure Sockets Layer (SSL), delays are dramatically increased because the SSL protocol generates a great deal of traffic including full handshakes, resumed handshakes, key exchanges, and a host of other signals.
SSL, for example, is a commonly deployed security protocol for providing a secure connection between two devices communicating over the Internet. Critical to this technique is the use of identifiers for identifying the authorized participants of the secure communication such that intermediate devices simply pass data to one of the two devices unchanged, and without deciphering the encrypted data. The Secure Sockets Layer runs above the TCP/IP layer. SSL is designed to allow any protocol that is designed to run over TCP/IP to also run over the SSL. The handshaking protocol typically includes numerous steps be performed for exchanging indications of the SSL version to be used, cipher settings, keys for generating a premaster secret, for example, and many more.
Thus, where TCP/IP acceleration may be employed to reduce latency associated with standard web browsing over a satellite communication system, a problem arises where the transfers between the web browser and the web host or server are encrypted. First, given the numerous signal exchanges required by the SSL protocol for establishing a secure connection and the inherent delays associated with transmission of Internet communications over a satellite communication system, establishing an SSL connection over a satellite introduces considerable latency. Such communications become prohibitively slow, rendering use of secure communications over satellite systems undesirable. Second, in HTTPS, the connection between the client browser and the web server is encrypted such that it may not be possible to interpret the pages or to pre-fetch the pages at the hub server. The handshake protocol component of SSL, for example, includes steps for authenticating the identity of each respective device through the exchange of SSL Certificates that have been “signed” by a Certificate Authority or other company the browser/computer trusts, and through the exchange of encryption keys. For example, SSL uses X509 certificates. These security measures may prevent acceleration of secure Internet communications using standard TCP/IP acceleration. Accordingly, a new protocol is required for transmitting secure communications over a satellite where the link is encrypted using HTTPS, SSL, or other secure web based protocols.
There is a need, therefore, for a technique for reducing the latency experienced at a remotely located station when requesting secure Internet communications between the remote station and web hosts through a satellite communications system.